package main

import "fmt"

func main() {
	var a, b, c int = 1, 2, 3  // 声明多个变量并赋值
	fmt.Println(a, b, c)
	var x, y, z = true, "hello", 12.34  // 声明多个变量并赋值
	fmt.Println(x, y, z)

	fmt.Println("~~~~~~~~~~~~~~")

	// 声明一个变量并初始化
	var a1 = "RUNOOB"
	fmt.Println(a1)

	// 没有初始化就为零值
	var b1 int
	fmt.Println(b1)

	// bool 零值为 false
	var c1 bool
	fmt.Println(c1)

	fmt.Println("~~~~~~~~~~~~~~")

	intVal := 10
	// 此时不会产生编译错误，因为有声明新的变量，因为 := 是一个声明语句
	fmt.Println(intVal)

	fmt.Println("~~~~~~~多变量声明~~~~~~~")
	var (
		a2 int
		b2 string
		c2 bool
	)
	var e, f = 123, "hello"
	fmt.Println(a2, b2, c2, e, f)

	//注意：声明过的变量不能不使用，否则会报错
}